--[[
文件名: device_util.lua
描述: 设备工具包
作者: 671643387@qq.com
创建日期: 2025-09-20
]]

local oc_util = require('kernel.util.oc_util')
local term_util = require('kernel.util.term_util')
local table_util = require('kernel.util.table_util')
local device_util = {}

-- 选择设备
-- @param prompt    提示词
-- @param filter    设备过滤参数
device_util.choose_device = function(prompt, filter)
    -- 输出提示词
    print(prompt)
    -- 获取设备表
    local devices = oc_util.all_devices(filter)
    -- 获取设备数量
    local device_length = table_util.table_length(devices)
    if device_length == 0 then
        return nil, nil
    end
    -- 输出设备表
    term_util.print_tablekey_with_index(devices, '    ')
    -- 获取用户输入
    local index = term_util.read_number(1, device_length)
    -- 返回用户选择的设备
    return table_util.table_content_with_index(devices, index)
end

return device_util
